/* 
  // 学习目标：使用dispatch对count + 1 和减1
  //   1. 通过 dispatch 发起修改state的action
*/

import React from 'react';
import { legacy_createStore as createStore } from 'redux';

//  2.通过 redcuer 函数的第二个参数，接收到action对象
const store = createStore(function (state = { count: 100 }, action) {
  console.log('action----->', action);

  // 3.通过计算返回新值，覆盖旧值
  if (action.type === 'add') {
    // 解构出来就值，通过新值覆盖旧值
    return {
      ...state,
      count: state.count + 1,
    };
  }

  // 需要在函数里把state返回出去
  return state;
});

// 1.方法调用-通过dispatch-发起修改state的action
// 💥 dispatch必须接受一个action
// 💥 action是普通的js对象，而且必须有type字段
store.dispatch({ type: 'add' });

// console.log('store----->', store);
// console.log('store.state----->', store.state); //undefined
// 4. 通过store.getState方法回去redux中的数据
console.log('store.getState----->', store.getState());

export default function App() {
  return <div></div>;
}
